package cn.doitedu.day04

import cn.doitedu.day01.utils.SparkUtil
import org.apache.spark.rdd.RDD

/**
 * @Date 22.4.1
 * @Created by HANGGE
 * @Description
 */
object C09_转换算子_Glom {
  def main(args: Array[String]): Unit = {
    val sc = SparkUtil.getSc
   // 本地集合转换
    val ls = List(1,2,3,4,5,6,7,8)
    //参数二 指定RDD的分区数据  默认当前机器的所有可用核数
    val rdd = sc.parallelize(ls,2)
   // 将每个分区的数据收集到数组中
    // 方便对每个分区的数据进行操作
    val rdd1: RDD[Array[Int]] = rdd.glom()
    rdd1.map(arr=>arr.toList).foreach(println)

   //  [0:  1 2 3 4 ]  [1: 5 6 7 8]
    /* rdd.mapPartitionsWithIndex((p, iters) => {
      iters.map(e => e + "-所在的分区: " + p)
    }).foreach(println)*/







  }

}
